﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using LibNiconico.NiconicoApi.Internal;
using LibNiconico.NiconicoApi.Utils;
using LibNiconico.NiconicoApi.Internal.Http;
using System.Threading;

namespace LibNiconico.NiconicoApi.Internal
{
    /// <summary>
    /// ニコニコAPIヘルパーベースクラス
    /// </summary>
    public abstract class NicoApiHelperBase
    {
        internal NicoApiHelperBase(NiconicoAuth auth, NiconicoApiInfoGetCreateInfo defaultCreateInfo)
        {
            this.Auth = auth;
            this.DefaultCreateInfo = defaultCreateInfo;
        }

        internal NiconicoAuth Auth { get; private set; }

        internal NiconicoApiInfoGetCreateInfo DefaultCreateInfo { get; private set; }


        internal INiconicoHttpClient CreateNotLoginApiHttpClient()
        {
            return NiconicoHttpClient.CreateNiconicoApi(this.DefaultCreateInfo);
        }

        internal INiconicoHttpClient CreateMostLoginApiHttpClient()
        {
            return NiconicoHttpClient.CreateNiconicoApi(this.Auth, this.DefaultCreateInfo);
        }

    }
}
